package com.fitzone.web.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fitzone.model.dto.*;
import com.fitzone.model.entity.Orders;
import com.fitzone.model.entity.User;
import com.fitzone.model.vo.*;

import java.io.IOException;
import java.util.List;

public interface OrdersService extends IService<Orders> {

    public Page<OrdersCourseVO> pageCourse(OrdersPageDTO ordersPageDTO);

    Page<OrdersCoachVO> pageCoach(OrdersPageDTO ordersPageDTO);

    public Page<OrdersVipVO> pageVip(OrdersPageDTO ordersPageDTO);

    void orderCourse(OrdersCourseDTO ordersCourseDTO);

    void orderCoach(OrdersCoachDTO ordersCourseDTO);

    void orderVip(OrdersVipDTO ordersVipDTO);

    List<MiniOrdersCourseVO> getCourse(Long uid, Integer status);

    List<MiniOrdersVipVO> getVip(Long uid, Integer status);

    List<MiniOrdersCoachVO> getCoach(Long uid,Integer status);

    OrdersCourseVO getCourseById(Long oid, Integer status);

    OrdersCoachVO getCoachById(Long oid, Integer status);

    OrdersVipVO getVipById(Long oid, Integer status);

    void updateUser();
}
